package org.kwin.spring.context;

import org.kwin.spring.beans.factory.BeanFactory;

import java.util.Map;

/**
 * @author : wangkai
 * @version V1.0
 * @Package org.kwin.spring.context
 * @Description:
 * @date 2021年09月28日 11:11
 **/
public interface ApplicationContext extends BeanFactory {
    /**
     * 注册一个bean
     * @param name
     * @param bean
     * @return
     */
    boolean register(String name, Object bean);
    
    /**
     * 根据name删除一个Bean
     * @param name
     * @return
     */
    boolean remove(String name);
    
    /**
     * 根据类型删除一个bean
     * @param requiredType
     * @return
     */
    boolean remove(Class<?> requiredType);
    
    /**
     * 获取IOC容器
     * @return
     */
    Map<String,Object> getIoc();
}
